package com.efrei.schoolmanager.model;

import java.util.ArrayList;
import java.util.List;

import javax.swing.AbstractListModel;

import com.efrei.schoolmanager.model.obj.Matiere;

/**
 * modele de gestion des matieres avec ajout et suppression
 */
public class ModeleListeMatieres extends AbstractListModel {
	public List<Matiere> getMatieres() {
		return matieres;
	}

	private static final long serialVersionUID = 5837480549481169696L;

	private final List<Matiere> matieres = new ArrayList<Matiere>();

	@Override
	public Object getElementAt(int index) {
		return matieres.get(index);
	}

	@Override
	public int getSize() {
		return matieres.size();
	}

	public void addMatiere(Matiere matiere) {
		matieres.add(matiere);
		fireIntervalAdded(this, matieres.size() - 1, matieres.size() - 1);
	}

	public void removeMatiere(int index) {
		if (index >= 0 && index < matieres.size()) {
			matieres.remove(index);
			fireIntervalRemoved(this, index, index);
		}
	}

}
